package cn.swust.designpatternlearningplatform.service;

import cn.swust.designpatternlearningplatform.common.Result.PageInfo;
import cn.swust.designpatternlearningplatform.domain.bo.StudentTopicTypeBo;
import cn.swust.designpatternlearningplatform.domain.dto.TopicCollectDto;
import cn.swust.designpatternlearningplatform.domain.entity.TopicUpdate;

import java.util.Collection;
import java.util.List;
import java.util.Set;

public interface TopicCollectService {
    /**
     * 根据学号获取收藏列表
     * @return java.util.List<cn.swust.designpatternlearningplatform.domain.entity.TopicUpdate>
     * @author Tang
     * @date 2023/7/10 13:53
    **/
    PageInfo<TopicCollectDto> getCollectQuestionByStudentNumber(StudentTopicTypeBo studentTopicTypeBo);
    /**
     * 取消收藏
     * @param studentNumber
     * @param topicIds
     * @return void
     * @author Tang
     * @date 2023/7/10 13:53
    **/
    void deleteCollectTopic(String studentNumber,List<Integer> topicIds);

    /**
     * 批量添加收藏
     * @param studentNumber
     * @param topicIds
     * @return void
     * @author Tang
     * @date 2023/7/10 13:54
    **/
    void addCollectTopic(String studentNumber,List<Integer> topicIds);

    /**
     * 根据条件查询用户的收藏的题目
     * @param studentNumber 学号
     * @param topicIds 题目ids
     * @param typeName 类型
     */
    List<TopicUpdate> getCollectsByStuNumAndTopicIds(String studentNumber, Collection<Integer> topicIds, String typeName);
}
